// 

#ifndef SIMPLE_MODULES_TASK_GENERATER_H_
#define SIMPLE_MODULES_TASK_GENERATER_H_

#include <vector>
#include "ib_cluster/base/ai_sim.h"
#include "ib_cluster/network_module/control/CentralController.h"

namespace ai_sim {

class TaskGenerator : public omnetpp::cSimpleModule{
 private:
       TaskType tmp_tasktype;
       int maxnumGpus;
       int maxnumBatches;
       int modelsize;
       double compute_time;
       double task_interval;
       int total_tasks;
       CentralController *controller;

 public:
        void initialize() override;
        void handleMessage(omnetpp::cMessage *msg) override;
        Task gen_fully_utilized_task();
};
}  // namespace ai_sim

#endif  // SIMPLE_MODULES_TASK_GENERATER_H_
